package com.yonyou.brigade.third_parties.didi.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 滴滴开票历史
 * </p>
 *
 * @author kangfw5@yonyou.com
 * @since 2019-07-10
 */
@TableName("didi_invoice_history")
public class DidiInvoiceHistory extends Model<DidiInvoiceHistory> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 滴滴发票ID
     */
    @TableField("invoice_id")
    private String invoiceId;
    /**
     * 开票申请时间
     */
    @TableField("apply_time")
    private Date applyTime;
    /**
     * 电子票状态：审核中、待开票、已开票、待冲红、已冲红、已驳回）
     */
    @TableField("invoice_status")
    private String invoiceStatus;
    /**
     * 发票类型（1：普票，2：专票，3：电票普票）
     */
    @TableField("invoice_type")
    private Integer invoiceType;
    /**
     * 开票金额
     */
    @TableField("total_price")
    private BigDecimal totalPrice;
    /**
     * 电子邮箱(接收电子发票)
     */
    @TableField("receiver_email")
    private String receiverEmail;
    /**
     * 发票抬头
     */
    @TableField("invoice_title")
    private String invoiceTitle;
    /**
     * 纳税人识别号
     */
    @TableField("tax_registration_number")
    private String taxRegistrationNumber;
    /**
     * 发票内容（*运输服务*客运服务费）
     */
    @TableField("invoice_content")
    private String invoiceContent;
    /**
     * 租户ID
     */
    private String tenant;
    /**
     * 组织信息
     */
    private String org;
    /**
     * 用户ID
     */
    @TableField("user_id")
    private String userId;
    /**
     * 开票请求编号（接入方唯一标识）
     */
    @TableField("invoice_no")
    private String invoiceNo;
    /**
     * 开票请求成功
     */
    private Integer success;
    private Date ts;
    /**
     * 发票地址
     */
    @TableField("invoice_address")
    private String invoiceAddress;
    /**
     * 行程单地址
     */
    @TableField("itinerary_address")
    private String itineraryAddress;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getInvoiceId() {
        return invoiceId;
    }

    public void setInvoiceId(String invoiceId) {
        this.invoiceId = invoiceId;
    }

    public Date getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    public String getInvoiceStatus() {
        return invoiceStatus;
    }

    public void setInvoiceStatus(String invoiceStatus) {
        this.invoiceStatus = invoiceStatus;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public String getReceiverEmail() {
        return receiverEmail;
    }

    public void setReceiverEmail(String receiverEmail) {
        this.receiverEmail = receiverEmail;
    }

    public String getInvoiceTitle() {
        return invoiceTitle;
    }

    public void setInvoiceTitle(String invoiceTitle) {
        this.invoiceTitle = invoiceTitle;
    }

    public String getTaxRegistrationNumber() {
        return taxRegistrationNumber;
    }

    public void setTaxRegistrationNumber(String taxRegistrationNumber) {
        this.taxRegistrationNumber = taxRegistrationNumber;
    }

    public String getInvoiceContent() {
        return invoiceContent;
    }

    public void setInvoiceContent(String invoiceContent) {
        this.invoiceContent = invoiceContent;
    }

    public String getTenant() {
        return tenant;
    }

    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    public String getOrg() {
        return org;
    }

    public void setOrg(String org) {
        this.org = org;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public Integer getSuccess() {
        return success;
    }

    public void setSuccess(Integer success) {
        this.success = success;
    }

    public Date getTs() {
        return ts;
    }

    public void setTs(Date ts) {
        this.ts = ts;
    }

    public String getInvoiceAddress() {
        return invoiceAddress;
    }

    public void setInvoiceAddress(String invoiceAddress) {
        this.invoiceAddress = invoiceAddress;
    }

    public String getItineraryAddress() {
        return itineraryAddress;
    }

    public void setItineraryAddress(String itineraryAddress) {
        this.itineraryAddress = itineraryAddress;
    }

    public static final String ID = "id";

    public static final String INVOICE_ID = "invoice_id";

    public static final String APPLY_TIME = "apply_time";

    public static final String INVOICE_STATUS = "invoice_status";

    public static final String INVOICE_TYPE = "invoice_type";

    public static final String TOTAL_PRICE = "total_price";

    public static final String RECEIVER_EMAIL = "receiver_email";

    public static final String INVOICE_TITLE = "invoice_title";

    public static final String TAX_REGISTRATION_NUMBER = "tax_registration_number";

    public static final String INVOICE_CONTENT = "invoice_content";

    public static final String TENANT = "tenant";

    public static final String ORG = "org";

    public static final String USER_ID = "user_id";

    public static final String INVOICE_NO = "invoice_no";

    public static final String SUCCESS = "success";

    public static final String TS = "ts";

    public static final String INVOICE_ADDRESS = "invoice_address";

    public static final String ITINERARY_ADDRESS = "itinerary_address";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "DidiInvoiceHistory{" +
                "id=" + id +
                ", invoiceId=" + invoiceId +
                ", applyTime=" + applyTime +
                ", invoiceStatus=" + invoiceStatus +
                ", invoiceType=" + invoiceType +
                ", totalPrice=" + totalPrice +
                ", receiverEmail=" + receiverEmail +
                ", invoiceTitle=" + invoiceTitle +
                ", taxRegistrationNumber=" + taxRegistrationNumber +
                ", invoiceContent=" + invoiceContent +
                ", tenant=" + tenant +
                ", org=" + org +
                ", userId=" + userId +
                ", invoiceNo=" + invoiceNo +
                ", success=" + success +
                ", ts=" + ts +
                ", invoiceAddress=" + invoiceAddress +
                ", itineraryAddress=" + itineraryAddress +
                "}";
    }
}
